package com.ghp.common.model.dto.interfaceinfo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ghp.common.model.dto.PageDTO;
import com.ghp.common.model.vo.RequestParamsRemarkVO;
import com.ghp.common.model.vo.ResponseParamsRemarkVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 查询请求
 */
@ApiModel(description = "接口信息查询")
@Data
public class InterfaceInfoQueryDTO extends PageDTO implements Serializable {

    private static final Long serialVersionUID = 1L;
    /**
     * 搜索词
     */
    @ApiModelProperty(value = "搜索词")
    private String searchText;
    /**
     * 主键
     */
    @ApiModelProperty(value = "接口id")
    private Long id;
    /**
     * 名称
     */
    @ApiModelProperty(value = "接口名")
    private String name;
    /**
     * 描述
     */
    @ApiModelProperty(value = "接口描述信息")
    private String description;
    /**
     * 主机名
     */
    @ApiModelProperty(value = "主机名")
    private String host;
    /**
     * 接口地址
     */
    @ApiModelProperty(value = "接口地址")
    private String url;
    /**
     * 批量请求参数说明
     */
    @ApiModelProperty(value = "批量请求参数说明")
    private List<RequestParamsRemarkVO> requestParamsRemark;
    /**
     * 批量响应参数说明
     */
    @ApiModelProperty(value = "批量响应参数说明")
    private List<ResponseParamsRemarkVO> responseParamsRemark;
    /**
     * 请求头
     */
    @ApiModelProperty(value = "请求头")
    private String requestHeader;
    /**
     * 响应头
     */
    @ApiModelProperty(value = "响应头")
    private String responseHeader;
    /**
     * 接口状态（0-关闭，1-开启）
     */
    @ApiModelProperty(value = "接口状态 0-关闭 1-开启")
    private Integer status;
    /**
     * 请求类型
     */
    @ApiModelProperty(value = "请求类型")
    private String method;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "接口创建人")
    private Long userId;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
